//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(undefined < undefined);
write(undefined < null);
write(undefined < true);
write(undefined < false);
write(undefined < Boolean(true));
write(undefined < Boolean(false));
write(undefined < new Boolean(true));
write(undefined < new Boolean(false));
write(undefined < NaN);
write(undefined < +0);
write(undefined < -0);
write(undefined < 0);
write(undefined < 0.0);
write(undefined < -0.0);
write(undefined < +0.0);
write(undefined < 1);
write(undefined < 10);
write(undefined < 10.0);
write(undefined < 10.1);
write(undefined < -1);
write(undefined < -10);
write(undefined < -10.0);
write(undefined < -10.1);
write(undefined < Number.MAX_VALUE);
write(undefined < Number.MIN_VALUE);
write(undefined < Number.NaN);
write(undefined < Number.POSITIVE_INFINITY);
write(undefined < Number.NEGATIVE_INFINITY);
write(undefined < new Number(NaN));
write(undefined < new Number(+0));
write(undefined < new Number(-0));
write(undefined < new Number(0));
write(undefined < new Number(0.0));
write(undefined < new Number(-0.0));
write(undefined < new Number(+0.0));
write(undefined < new Number(1));
write(undefined < new Number(10));
write(undefined < new Number(10.0));
write(undefined < new Number(10.1));
write(undefined < new Number(-1));
write(undefined < new Number(-10));
write(undefined < new Number(-10.0));
write(undefined < new Number(-10.1));
write(undefined < new Number(Number.MAX_VALUE));
write(undefined < new Number(Number.MIN_VALUE));
write(undefined < new Number(Number.NaN));
write(undefined < new Number(Number.POSITIVE_INFINITY));
write(undefined < new Number(Number.NEGATIVE_INFINITY));
write(undefined < '');
write(undefined < 0xa);
write(undefined < 04);
write(undefined < 'hello');
write(undefined < 'hel' + 'lo');
write(undefined < String(''));
write(undefined < String('hello'));
write(undefined < String('h' + 'ello'));
write(undefined < new String(''));
write(undefined < new String('hello'));
write(undefined < new String('he' + 'llo'));
write(undefined < new Object());
write(undefined < new Object());
write(undefined < [1, 2, 3]);
write(undefined < [1 ,2 , 3]);
write(undefined < new Array(3));
write(undefined < Array(3));
write(undefined < new Array(1 ,2 ,3));
write(undefined < Array(1));
write(undefined < foo);
write(null < undefined);
write(null < null);
write(null < true);
write(null < false);
write(null < Boolean(true));
write(null < Boolean(false));
write(null < new Boolean(true));
write(null < new Boolean(false));
write(null < NaN);
write(null < +0);
write(null < -0);
write(null < 0);
write(null < 0.0);
write(null < -0.0);
write(null < +0.0);
write(null < 1);
write(null < 10);
write(null < 10.0);
write(null < 10.1);
write(null < -1);
write(null < -10);
write(null < -10.0);
write(null < -10.1);
write(null < Number.MAX_VALUE);
write(null < Number.MIN_VALUE);
write(null < Number.NaN);
write(null < Number.POSITIVE_INFINITY);
write(null < Number.NEGATIVE_INFINITY);
write(null < new Number(NaN));
write(null < new Number(+0));
write(null < new Number(-0));
write(null < new Number(0));
write(null < new Number(0.0));
write(null < new Number(-0.0));
write(null < new Number(+0.0));
write(null < new Number(1));
write(null < new Number(10));
write(null < new Number(10.0));
write(null < new Number(10.1));
write(null < new Number(-1));
write(null < new Number(-10));
write(null < new Number(-10.0));
write(null < new Number(-10.1));
write(null < new Number(Number.MAX_VALUE));
write(null < new Number(Number.MIN_VALUE));
write(null < new Number(Number.NaN));
write(null < new Number(Number.POSITIVE_INFINITY));
write(null < new Number(Number.NEGATIVE_INFINITY));
write(null < '');
write(null < 0xa);
write(null < 04);
write(null < 'hello');
write(null < 'hel' + 'lo');
write(null < String(''));
write(null < String('hello'));
write(null < String('h' + 'ello'));
write(null < new String(''));
write(null < new String('hello'));
write(null < new String('he' + 'llo'));
write(null < new Object());
write(null < new Object());
write(null < [1, 2, 3]);
write(null < [1 ,2 , 3]);
write(null < new Array(3));
write(null < Array(3));
write(null < new Array(1 ,2 ,3));
write(null < Array(1));
write(null < foo);
write(true < undefined);
write(true < null);
write(true < true);
write(true < false);
write(true < Boolean(true));
write(true < Boolean(false));
write(true < new Boolean(true));
write(true < new Boolean(false));
write(true < NaN);
write(true < +0);
write(true < -0);
write(true < 0);
write(true < 0.0);
write(true < -0.0);
write(true < +0.0);
write(true < 1);
write(true < 10);
write(true < 10.0);
write(true < 10.1);
write(true < -1);
write(true < -10);
write(true < -10.0);
write(true < -10.1);
write(true < Number.MAX_VALUE);
write(true < Number.MIN_VALUE);
write(true < Number.NaN);
write(true < Number.POSITIVE_INFINITY);
write(true < Number.NEGATIVE_INFINITY);
write(true < new Number(NaN));
write(true < new Number(+0));
write(true < new Number(-0));
write(true < new Number(0));
write(true < new Number(0.0));
write(true < new Number(-0.0));
write(true < new Number(+0.0));
write(true < new Number(1));
write(true < new Number(10));
write(true < new Number(10.0));
write(true < new Number(10.1));
write(true < new Number(-1));
write(true < new Number(-10));
write(true < new Number(-10.0));
write(true < new Number(-10.1));
write(true < new Number(Number.MAX_VALUE));
write(true < new Number(Number.MIN_VALUE));
write(true < new Number(Number.NaN));
write(true < new Number(Number.POSITIVE_INFINITY));
write(true < new Number(Number.NEGATIVE_INFINITY));
write(true < '');
write(true < 0xa);
write(true < 04);
write(true < 'hello');
write(true < 'hel' + 'lo');
write(true < String(''));
write(true < String('hello'));
write(true < String('h' + 'ello'));
write(true < new String(''));
write(true < new String('hello'));
write(true < new String('he' + 'llo'));
write(true < new Object());
write(true < new Object());
write(true < [1, 2, 3]);
write(true < [1 ,2 , 3]);
write(true < new Array(3));
write(true < Array(3));
write(true < new Array(1 ,2 ,3));
write(true < Array(1));
write(true < foo);
write(false < undefined);
write(false < null);
write(false < true);
write(false < false);
write(false < Boolean(true));
write(false < Boolean(false));
write(false < new Boolean(true));
write(false < new Boolean(false));
write(false < NaN);
write(false < +0);
write(false < -0);
write(false < 0);
write(false < 0.0);
write(false < -0.0);
write(false < +0.0);
write(false < 1);
write(false < 10);
write(false < 10.0);
write(false < 10.1);
write(false < -1);
write(false < -10);
write(false < -10.0);
write(false < -10.1);
write(false < Number.MAX_VALUE);
write(false < Number.MIN_VALUE);
write(false < Number.NaN);
write(false < Number.POSITIVE_INFINITY);
write(false < Number.NEGATIVE_INFINITY);
write(false < new Number(NaN));
write(false < new Number(+0));
write(false < new Number(-0));
write(false < new Number(0));
write(false < new Number(0.0));
write(false < new Number(-0.0));
write(false < new Number(+0.0));
write(false < new Number(1));
write(false < new Number(10));
write(false < new Number(10.0));
write(false < new Number(10.1));
write(false < new Number(-1));
write(false < new Number(-10));
write(false < new Number(-10.0));
write(false < new Number(-10.1));
write(false < new Number(Number.MAX_VALUE));
write(false < new Number(Number.MIN_VALUE));
write(false < new Number(Number.NaN));
write(false < new Number(Number.POSITIVE_INFINITY));
write(false < new Number(Number.NEGATIVE_INFINITY));
write(false < '');
write(false < 0xa);
write(false < 04);
write(false < 'hello');
write(false < 'hel' + 'lo');
write(false < String(''));
write(false < String('hello'));
write(false < String('h' + 'ello'));
write(false < new String(''));
write(false < new String('hello'));
write(false < new String('he' + 'llo'));
write(false < new Object());
write(false < new Object());
write(false < [1, 2, 3]);
write(false < [1 ,2 , 3]);
write(false < new Array(3));
write(false < Array(3));
write(false < new Array(1 ,2 ,3));
write(false < Array(1));
write(false < foo);
write(Boolean(true) < undefined);
write(Boolean(true) < null);
write(Boolean(true) < true);
write(Boolean(true) < false);
write(Boolean(true) < Boolean(true));
write(Boolean(true) < Boolean(false));
write(Boolean(true) < new Boolean(true));
write(Boolean(true) < new Boolean(false));
write(Boolean(true) < NaN);
write(Boolean(true) < +0);
write(Boolean(true) < -0);
write(Boolean(true) < 0);
write(Boolean(true) < 0.0);
write(Boolean(true) < -0.0);
write(Boolean(true) < +0.0);
write(Boolean(true) < 1);
write(Boolean(true) < 10);
write(Boolean(true) < 10.0);
write(Boolean(true) < 10.1);
write(Boolean(true) < -1);
write(Boolean(true) < -10);
write(Boolean(true) < -10.0);
write(Boolean(true) < -10.1);
write(Boolean(true) < Number.MAX_VALUE);
write(Boolean(true) < Number.MIN_VALUE);
write(Boolean(true) < Number.NaN);
write(Boolean(true) < Number.POSITIVE_INFINITY);
write(Boolean(true) < Number.NEGATIVE_INFINITY);
write(Boolean(true) < new Number(NaN));
write(Boolean(true) < new Number(+0));
write(Boolean(true) < new Number(-0));
write(Boolean(true) < new Number(0));
write(Boolean(true) < new Number(0.0));
write(Boolean(true) < new Number(-0.0));
write(Boolean(true) < new Number(+0.0));
write(Boolean(true) < new Number(1));
write(Boolean(true) < new Number(10));
write(Boolean(true) < new Number(10.0));
write(Boolean(true) < new Number(10.1));
write(Boolean(true) < new Number(-1));
write(Boolean(true) < new Number(-10));
write(Boolean(true) < new Number(-10.0));
write(Boolean(true) < new Number(-10.1));
write(Boolean(true) < new Number(Number.MAX_VALUE));
write(Boolean(true) < new Number(Number.MIN_VALUE));
write(Boolean(true) < new Number(Number.NaN));
write(Boolean(true) < new Number(Number.POSITIVE_INFINITY));
write(Boolean(true) < new Number(Number.NEGATIVE_INFINITY));
write(Boolean(true) < '');
write(Boolean(true) < 0xa);
write(Boolean(true) < 04);
write(Boolean(true) < 'hello');
write(Boolean(true) < 'hel' + 'lo');
write(Boolean(true) < String(''));
write(Boolean(true) < String('hello'));
write(Boolean(true) < String('h' + 'ello'));
write(Boolean(true) < new String(''));
write(Boolean(true) < new String('hello'));
write(Boolean(true) < new String('he' + 'llo'));
write(Boolean(true) < new Object());
write(Boolean(true) < new Object());
write(Boolean(true) < [1, 2, 3]);
write(Boolean(true) < [1 ,2 , 3]);
write(Boolean(true) < new Array(3));
write(Boolean(true) < Array(3));
write(Boolean(true) < new Array(1 ,2 ,3));
write(Boolean(true) < Array(1));
write(Boolean(true) < foo);
write(Boolean(false) < undefined);
write(Boolean(false) < null);
write(Boolean(false) < true);
write(Boolean(false) < false);
write(Boolean(false) < Boolean(true));
write(Boolean(false) < Boolean(false));
write(Boolean(false) < new Boolean(true));
write(Boolean(false) < new Boolean(false));
write(Boolean(false) < NaN);
write(Boolean(false) < +0);
write(Boolean(false) < -0);
write(Boolean(false) < 0);
write(Boolean(false) < 0.0);
write(Boolean(false) < -0.0);
write(Boolean(false) < +0.0);
write(Boolean(false) < 1);
write(Boolean(false) < 10);
write(Boolean(false) < 10.0);
write(Boolean(false) < 10.1);
write(Boolean(false) < -1);
write(Boolean(false) < -10);
write(Boolean(false) < -10.0);
write(Boolean(false) < -10.1);
write(Boolean(false) < Number.MAX_VALUE);
write(Boolean(false) < Number.MIN_VALUE);
write(Boolean(false) < Number.NaN);
write(Boolean(false) < Number.POSITIVE_INFINITY);
write(Boolean(false) < Number.NEGATIVE_INFINITY);
write(Boolean(false) < new Number(NaN));
write(Boolean(false) < new Number(+0));
write(Boolean(false) < new Number(-0));
write(Boolean(false) < new Number(0));
write(Boolean(false) < new Number(0.0));
write(Boolean(false) < new Number(-0.0));
write(Boolean(false) < new Number(+0.0));
write(Boolean(false) < new Number(1));
write(Boolean(false) < new Number(10));
write(Boolean(false) < new Number(10.0));
write(Boolean(false) < new Number(10.1));
write(Boolean(false) < new Number(-1));
write(Boolean(false) < new Number(-10));
write(Boolean(false) < new Number(-10.0));
write(Boolean(false) < new Number(-10.1));
write(Boolean(false) < new Number(Number.MAX_VALUE));
write(Boolean(false) < new Number(Number.MIN_VALUE));
write(Boolean(false) < new Number(Number.NaN));
write(Boolean(false) < new Number(Number.POSITIVE_INFINITY));
write(Boolean(false) < new Number(Number.NEGATIVE_INFINITY));
write(Boolean(false) < '');
write(Boolean(false) < 0xa);
write(Boolean(false) < 04);
write(Boolean(false) < 'hello');
write(Boolean(false) < 'hel' + 'lo');
write(Boolean(false) < String(''));
write(Boolean(false) < String('hello'));
write(Boolean(false) < String('h' + 'ello'));
write(Boolean(false) < new String(''));
write(Boolean(false) < new String('hello'));
write(Boolean(false) < new String('he' + 'llo'));
write(Boolean(false) < new Object());
write(Boolean(false) < new Object());
write(Boolean(false) < [1, 2, 3]);
write(Boolean(false) < [1 ,2 , 3]);
write(Boolean(false) < new Array(3));
write(Boolean(false) < Array(3));
write(Boolean(false) < new Array(1 ,2 ,3));
write(Boolean(false) < Array(1));
write(Boolean(false) < foo);
write(new Boolean(true) < undefined);
write(new Boolean(true) < null);
write(new Boolean(true) < true);
write(new Boolean(true) < false);
write(new Boolean(true) < Boolean(true));
write(new Boolean(true) < Boolean(false));
write(new Boolean(true) < new Boolean(true));
write(new Boolean(true) < new Boolean(false));
write(new Boolean(true) < NaN);
write(new Boolean(true) < +0);
write(new Boolean(true) < -0);
write(new Boolean(true) < 0);
write(new Boolean(true) < 0.0);
write(new Boolean(true) < -0.0);
write(new Boolean(true) < +0.0);
write(new Boolean(true) < 1);
write(new Boolean(true) < 10);
write(new Boolean(true) < 10.0);
write(new Boolean(true) < 10.1);
write(new Boolean(true) < -1);
write(new Boolean(true) < -10);
write(new Boolean(true) < -10.0);
write(new Boolean(true) < -10.1);
write(new Boolean(true) < Number.MAX_VALUE);
write(new Boolean(true) < Number.MIN_VALUE);
write(new Boolean(true) < Number.NaN);
write(new Boolean(true) < Number.POSITIVE_INFINITY);
write(new Boolean(true) < Number.NEGATIVE_INFINITY);
write(new Boolean(true) < new Number(NaN));
write(new Boolean(true) < new Number(+0));
write(new Boolean(true) < new Number(-0));
write(new Boolean(true) < new Number(0));
write(new Boolean(true) < new Number(0.0));
write(new Boolean(true) < new Number(-0.0));
write(new Boolean(true) < new Number(+0.0));
write(new Boolean(true) < new Number(1));
write(new Boolean(true) < new Number(10));
write(new Boolean(true) < new Number(10.0));
write(new Boolean(true) < new Number(10.1));
write(new Boolean(true) < new Number(-1));
write(new Boolean(true) < new Number(-10));
write(new Boolean(true) < new Number(-10.0));
write(new Boolean(true) < new Number(-10.1));
write(new Boolean(true) < new Number(Number.MAX_VALUE));
write(new Boolean(true) < new Number(Number.MIN_VALUE));
write(new Boolean(true) < new Number(Number.NaN));
write(new Boolean(true) < new Number(Number.POSITIVE_INFINITY));
write(new Boolean(true) < new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(true) < '');
write(new Boolean(true) < 0xa);
write(new Boolean(true) < 04);
write(new Boolean(true) < 'hello');
write(new Boolean(true) < 'hel' + 'lo');
write(new Boolean(true) < String(''));
write(new Boolean(true) < String('hello'));
write(new Boolean(true) < String('h' + 'ello'));
write(new Boolean(true) < new String(''));
write(new Boolean(true) < new String('hello'));
write(new Boolean(true) < new String('he' + 'llo'));
write(new Boolean(true) < new Object());
write(new Boolean(true) < new Object());
write(new Boolean(true) < [1, 2, 3]);
write(new Boolean(true) < [1 ,2 , 3]);
write(new Boolean(true) < new Array(3));
write(new Boolean(true) < Array(3));
write(new Boolean(true) < new Array(1 ,2 ,3));
write(new Boolean(true) < Array(1));
write(new Boolean(true) < foo);
write(new Boolean(false) < undefined);
write(new Boolean(false) < null);
write(new Boolean(false) < true);
write(new Boolean(false) < false);
write(new Boolean(false) < Boolean(true));
write(new Boolean(false) < Boolean(false));
write(new Boolean(false) < new Boolean(true));
write(new Boolean(false) < new Boolean(false));
write(new Boolean(false) < NaN);
write(new Boolean(false) < +0);
write(new Boolean(false) < -0);
write(new Boolean(false) < 0);
write(new Boolean(false) < 0.0);
write(new Boolean(false) < -0.0);
write(new Boolean(false) < +0.0);
write(new Boolean(false) < 1);
write(new Boolean(false) < 10);
write(new Boolean(false) < 10.0);
write(new Boolean(false) < 10.1);
write(new Boolean(false) < -1);
write(new Boolean(false) < -10);
write(new Boolean(false) < -10.0);
write(new Boolean(false) < -10.1);
write(new Boolean(false) < Number.MAX_VALUE);
write(new Boolean(false) < Number.MIN_VALUE);
write(new Boolean(false) < Number.NaN);
write(new Boolean(false) < Number.POSITIVE_INFINITY);
write(new Boolean(false) < Number.NEGATIVE_INFINITY);
write(new Boolean(false) < new Number(NaN));
write(new Boolean(false) < new Number(+0));
write(new Boolean(false) < new Number(-0));
write(new Boolean(false) < new Number(0));
write(new Boolean(false) < new Number(0.0));
write(new Boolean(false) < new Number(-0.0));
write(new Boolean(false) < new Number(+0.0));
write(new Boolean(false) < new Number(1));
write(new Boolean(false) < new Number(10));
write(new Boolean(false) < new Number(10.0));
write(new Boolean(false) < new Number(10.1));
write(new Boolean(false) < new Number(-1));
write(new Boolean(false) < new Number(-10));
write(new Boolean(false) < new Number(-10.0));
write(new Boolean(false) < new Number(-10.1));
write(new Boolean(false) < new Number(Number.MAX_VALUE));
write(new Boolean(false) < new Number(Number.MIN_VALUE));
write(new Boolean(false) < new Number(Number.NaN));
write(new Boolean(false) < new Number(Number.POSITIVE_INFINITY));
write(new Boolean(false) < new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(false) < '');
write(new Boolean(false) < 0xa);
write(new Boolean(false) < 04);
write(new Boolean(false) < 'hello');
write(new Boolean(false) < 'hel' + 'lo');
write(new Boolean(false) < String(''));
write(new Boolean(false) < String('hello'));
write(new Boolean(false) < String('h' + 'ello'));
write(new Boolean(false) < new String(''));
write(new Boolean(false) < new String('hello'));
write(new Boolean(false) < new String('he' + 'llo'));
write(new Boolean(false) < new Object());
write(new Boolean(false) < new Object());
write(new Boolean(false) < [1, 2, 3]);
write(new Boolean(false) < [1 ,2 , 3]);
write(new Boolean(false) < new Array(3));
write(new Boolean(false) < Array(3));
write(new Boolean(false) < new Array(1 ,2 ,3));
write(new Boolean(false) < Array(1));
write(new Boolean(false) < foo);
write(NaN < undefined);
write(NaN < null);
write(NaN < true);
write(NaN < false);
write(NaN < Boolean(true));
write(NaN < Boolean(false));
write(NaN < new Boolean(true));
write(NaN < new Boolean(false));
write(NaN < NaN);
write(NaN < +0);
write(NaN < -0);
write(NaN < 0);
write(NaN < 0.0);
write(NaN < -0.0);
write(NaN < +0.0);
write(NaN < 1);
write(NaN < 10);
write(NaN < 10.0);
write(NaN < 10.1);
write(NaN < -1);
write(NaN < -10);
write(NaN < -10.0);
write(NaN < -10.1);
write(NaN < Number.MAX_VALUE);
write(NaN < Number.MIN_VALUE);
write(NaN < Number.NaN);
write(NaN < Number.POSITIVE_INFINITY);
write(NaN < Number.NEGATIVE_INFINITY);
write(NaN < new Number(NaN));
write(NaN < new Number(+0));
write(NaN < new Number(-0));
write(NaN < new Number(0));
write(NaN < new Number(0.0));
write(NaN < new Number(-0.0));
write(NaN < new Number(+0.0));
write(NaN < new Number(1));
write(NaN < new Number(10));
write(NaN < new Number(10.0));
write(NaN < new Number(10.1));
write(NaN < new Number(-1));
write(NaN < new Number(-10));
write(NaN < new Number(-10.0));
write(NaN < new Number(-10.1));
write(NaN < new Number(Number.MAX_VALUE));
write(NaN < new Number(Number.MIN_VALUE));
write(NaN < new Number(Number.NaN));
write(NaN < new Number(Number.POSITIVE_INFINITY));
write(NaN < new Number(Number.NEGATIVE_INFINITY));
write(NaN < '');
write(NaN < 0xa);
write(NaN < 04);
write(NaN < 'hello');
write(NaN < 'hel' + 'lo');
write(NaN < String(''));
write(NaN < String('hello'));
write(NaN < String('h' + 'ello'));
write(NaN < new String(''));
write(NaN < new String('hello'));
write(NaN < new String('he' + 'llo'));
write(NaN < new Object());
write(NaN < new Object());
write(NaN < [1, 2, 3]);
write(NaN < [1 ,2 , 3]);
write(NaN < new Array(3));
write(NaN < Array(3));
write(NaN < new Array(1 ,2 ,3));
write(NaN < Array(1));
write(NaN < foo);
write(+0 < undefined);
write(+0 < null);
write(+0 < true);
write(+0 < false);
write(+0 < Boolean(true));
write(+0 < Boolean(false));
write(+0 < new Boolean(true));
write(+0 < new Boolean(false));
write(+0 < NaN);
write(+0 < +0);
write(+0 < -0);
write(+0 < 0);
write(+0 < 0.0);
write(+0 < -0.0);
write(+0 < +0.0);
write(+0 < 1);
write(+0 < 10);
write(+0 < 10.0);
write(+0 < 10.1);
write(+0 < -1);
write(+0 < -10);
write(+0 < -10.0);
write(+0 < -10.1);
write(+0 < Number.MAX_VALUE);
write(+0 < Number.MIN_VALUE);
write(+0 < Number.NaN);
write(+0 < Number.POSITIVE_INFINITY);
write(+0 < Number.NEGATIVE_INFINITY);
write(+0 < new Number(NaN));
write(+0 < new Number(+0));
write(+0 < new Number(-0));
write(+0 < new Number(0));
write(+0 < new Number(0.0));
write(+0 < new Number(-0.0));
write(+0 < new Number(+0.0));
write(+0 < new Number(1));
write(+0 < new Number(10));
write(+0 < new Number(10.0));
write(+0 < new Number(10.1));
write(+0 < new Number(-1));
write(+0 < new Number(-10));
write(+0 < new Number(-10.0));
write(+0 < new Number(-10.1));
write(+0 < new Number(Number.MAX_VALUE));
write(+0 < new Number(Number.MIN_VALUE));
write(+0 < new Number(Number.NaN));
write(+0 < new Number(Number.POSITIVE_INFINITY));
write(+0 < new Number(Number.NEGATIVE_INFINITY));
write(+0 < '');
write(+0 < 0xa);
write(+0 < 04);
write(+0 < 'hello');
write(+0 < 'hel' + 'lo');
write(+0 < String(''));
write(+0 < String('hello'));
write(+0 < String('h' + 'ello'));
write(+0 < new String(''));
write(+0 < new String('hello'));
write(+0 < new String('he' + 'llo'));
write(+0 < new Object());
write(+0 < new Object());
write(+0 < [1, 2, 3]);
write(+0 < [1 ,2 , 3]);
write(+0 < new Array(3));
write(+0 < Array(3));
write(+0 < new Array(1 ,2 ,3));
write(+0 < Array(1));
write(+0 < foo);
write(-0 < undefined);
write(-0 < null);
write(-0 < true);
write(-0 < false);
write(-0 < Boolean(true));
write(-0 < Boolean(false));
write(-0 < new Boolean(true));
write(-0 < new Boolean(false));
write(-0 < NaN);
write(-0 < +0);
write(-0 < -0);
write(-0 < 0);
write(-0 < 0.0);
write(-0 < -0.0);
write(-0 < +0.0);
write(-0 < 1);
write(-0 < 10);
write(-0 < 10.0);
write(-0 < 10.1);
write(-0 < -1);
write(-0 < -10);
write(-0 < -10.0);
write(-0 < -10.1);
write(-0 < Number.MAX_VALUE);
write(-0 < Number.MIN_VALUE);
write(-0 < Number.NaN);
write(-0 < Number.POSITIVE_INFINITY);
write(-0 < Number.NEGATIVE_INFINITY);
write(-0 < new Number(NaN));
write(-0 < new Number(+0));
write(-0 < new Number(-0));
write(-0 < new Number(0));
write(-0 < new Number(0.0));
write(-0 < new Number(-0.0));
write(-0 < new Number(+0.0));
write(-0 < new Number(1));
write(-0 < new Number(10));
write(-0 < new Number(10.0));
write(-0 < new Number(10.1));
write(-0 < new Number(-1));
write(-0 < new Number(-10));
write(-0 < new Number(-10.0));
write(-0 < new Number(-10.1));
write(-0 < new Number(Number.MAX_VALUE));
write(-0 < new Number(Number.MIN_VALUE));
write(-0 < new Number(Number.NaN));
write(-0 < new Number(Number.POSITIVE_INFINITY));
write(-0 < new Number(Number.NEGATIVE_INFINITY));
write(-0 < '');
write(-0 < 0xa);
write(-0 < 04);
write(-0 < 'hello');
write(-0 < 'hel' + 'lo');
write(-0 < String(''));
write(-0 < String('hello'));
write(-0 < String('h' + 'ello'));
write(-0 < new String(''));
write(-0 < new String('hello'));
write(-0 < new String('he' + 'llo'));
write(-0 < new Object());
write(-0 < new Object());
write(-0 < [1, 2, 3]);
write(-0 < [1 ,2 , 3]);
write(-0 < new Array(3));
write(-0 < Array(3));
write(-0 < new Array(1 ,2 ,3));
write(-0 < Array(1));
write(-0 < foo);
write(0 < undefined);
write(0 < null);
write(0 < true);
write(0 < false);
write(0 < Boolean(true));
write(0 < Boolean(false));
write(0 < new Boolean(true));
write(0 < new Boolean(false));
write(0 < NaN);
write(0 < +0);
write(0 < -0);
write(0 < 0);
write(0 < 0.0);
write(0 < -0.0);
write(0 < +0.0);
write(0 < 1);
write(0 < 10);
write(0 < 10.0);
write(0 < 10.1);
write(0 < -1);
write(0 < -10);
write(0 < -10.0);
write(0 < -10.1);
write(0 < Number.MAX_VALUE);
write(0 < Number.MIN_VALUE);
write(0 < Number.NaN);
write(0 < Number.POSITIVE_INFINITY);
write(0 < Number.NEGATIVE_INFINITY);
write(0 < new Number(NaN));
write(0 < new Number(+0));
write(0 < new Number(-0));
write(0 < new Number(0));
write(0 < new Number(0.0));
write(0 < new Number(-0.0));
write(0 < new Number(+0.0));
write(0 < new Number(1));
write(0 < new Number(10));
write(0 < new Number(10.0));
write(0 < new Number(10.1));
write(0 < new Number(-1));
write(0 < new Number(-10));
write(0 < new Number(-10.0));
write(0 < new Number(-10.1));
write(0 < new Number(Number.MAX_VALUE));
write(0 < new Number(Number.MIN_VALUE));
write(0 < new Number(Number.NaN));
write(0 < new Number(Number.POSITIVE_INFINITY));
write(0 < new Number(Number.NEGATIVE_INFINITY));
write(0 < '');
write(0 < 0xa);
write(0 < 04);
write(0 < 'hello');
write(0 < 'hel' + 'lo');
write(0 < String(''));
write(0 < String('hello'));
write(0 < String('h' + 'ello'));
write(0 < new String(''));
write(0 < new String('hello'));
write(0 < new String('he' + 'llo'));
write(0 < new Object());
write(0 < new Object());
write(0 < [1, 2, 3]);
write(0 < [1 ,2 , 3]);
write(0 < new Array(3));
write(0 < Array(3));
write(0 < new Array(1 ,2 ,3));
write(0 < Array(1));
write(0 < foo);
write(0.0 < undefined);
write(0.0 < null);
write(0.0 < true);
write(0.0 < false);
write(0.0 < Boolean(true));
write(0.0 < Boolean(false));
write(0.0 < new Boolean(true));
write(0.0 < new Boolean(false));
write(0.0 < NaN);
write(0.0 < +0);
write(0.0 < -0);
write(0.0 < 0);
write(0.0 < 0.0);
write(0.0 < -0.0);
write(0.0 < +0.0);
write(0.0 < 1);
write(0.0 < 10);
write(0.0 < 10.0);
write(0.0 < 10.1);
write(0.0 < -1);
write(0.0 < -10);
write(0.0 < -10.0);
write(0.0 < -10.1);
write(0.0 < Number.MAX_VALUE);
write(0.0 < Number.MIN_VALUE);
write(0.0 < Number.NaN);
write(0.0 < Number.POSITIVE_INFINITY);
write(0.0 < Number.NEGATIVE_INFINITY);
write(0.0 < new Number(NaN));
write(0.0 < new Number(+0));
write(0.0 < new Number(-0));
write(0.0 < new Number(0));
write(0.0 < new Number(0.0));
write(0.0 < new Number(-0.0));
write(0.0 < new Number(+0.0));
write(0.0 < new Number(1));
write(0.0 < new Number(10));
write(0.0 < new Number(10.0));
write(0.0 < new Number(10.1));
write(0.0 < new Number(-1));
write(0.0 < new Number(-10));
write(0.0 < new Number(-10.0));
write(0.0 < new Number(-10.1));
write(0.0 < new Number(Number.MAX_VALUE));
write(0.0 < new Number(Number.MIN_VALUE));
write(0.0 < new Number(Number.NaN));
write(0.0 < new Number(Number.POSITIVE_INFINITY));
write(0.0 < new Number(Number.NEGATIVE_INFINITY));
write(0.0 < '');
write(0.0 < 0xa);
write(0.0 < 04);
write(0.0 < 'hello');
write(0.0 < 'hel' + 'lo');
write(0.0 < String(''));
write(0.0 < String('hello'));
write(0.0 < String('h' + 'ello'));
write(0.0 < new String(''));
write(0.0 < new String('hello'));
write(0.0 < new String('he' + 'llo'));
write(0.0 < new Object());
write(0.0 < new Object());
write(0.0 < [1, 2, 3]);
write(0.0 < [1 ,2 , 3]);
write(0.0 < new Array(3));
write(0.0 < Array(3));
write(0.0 < new Array(1 ,2 ,3));
write(0.0 < Array(1));
write(0.0 < foo);
write(-0.0 < undefined);
write(-0.0 < null);
write(-0.0 < true);
write(-0.0 < false);
write(-0.0 < Boolean(true));
write(-0.0 < Boolean(false));
write(-0.0 < new Boolean(true));
write(-0.0 < new Boolean(false));
write(-0.0 < NaN);
write(-0.0 < +0);
write(-0.0 < -0);
write(-0.0 < 0);
write(-0.0 < 0.0);
write(-0.0 < -0.0);
write(-0.0 < +0.0);
write(-0.0 < 1);
write(-0.0 < 10);
write(-0.0 < 10.0);
write(-0.0 < 10.1);
write(-0.0 < -1);
write(-0.0 < -10);
write(-0.0 < -10.0);
write(-0.0 < -10.1);
write(-0.0 < Number.MAX_VALUE);
write(-0.0 < Number.MIN_VALUE);
write(-0.0 < Number.NaN);
write(-0.0 < Number.POSITIVE_INFINITY);
write(-0.0 < Number.NEGATIVE_INFINITY);
write(-0.0 < new Number(NaN));
write(-0.0 < new Number(+0));
write(-0.0 < new Number(-0));
write(-0.0 < new Number(0));
write(-0.0 < new Number(0.0));
write(-0.0 < new Number(-0.0));
write(-0.0 < new Number(+0.0));
write(-0.0 < new Number(1));
write(-0.0 < new Number(10));
write(-0.0 < new Number(10.0));
write(-0.0 < new Number(10.1));
write(-0.0 < new Number(-1));
write(-0.0 < new Number(-10));
write(-0.0 < new Number(-10.0));
write(-0.0 < new Number(-10.1));
write(-0.0 < new Number(Number.MAX_VALUE));
write(-0.0 < new Number(Number.MIN_VALUE));
write(-0.0 < new Number(Number.NaN));
write(-0.0 < new Number(Number.POSITIVE_INFINITY));
write(-0.0 < new Number(Number.NEGATIVE_INFINITY));
write(-0.0 < '');
write(-0.0 < 0xa);
write(-0.0 < 04);
write(-0.0 < 'hello');
write(-0.0 < 'hel' + 'lo');
write(-0.0 < String(''));
write(-0.0 < String('hello'));
write(-0.0 < String('h' + 'ello'));
write(-0.0 < new String(''));
write(-0.0 < new String('hello'));
write(-0.0 < new String('he' + 'llo'));
write(-0.0 < new Object());
write(-0.0 < new Object());
write(-0.0 < [1, 2, 3]);
write(-0.0 < [1 ,2 , 3]);
write(-0.0 < new Array(3));
write(-0.0 < Array(3));
write(-0.0 < new Array(1 ,2 ,3));
write(-0.0 < Array(1));
write(-0.0 < foo);
write(+0.0 < undefined);
write(+0.0 < null);
write(+0.0 < true);
write(+0.0 < false);
write(+0.0 < Boolean(true));
write(+0.0 < Boolean(false));
write(+0.0 < new Boolean(true));
write(+0.0 < new Boolean(false));
write(+0.0 < NaN);
write(+0.0 < +0);
write(+0.0 < -0);
write(+0.0 < 0);
write(+0.0 < 0.0);
write(+0.0 < -0.0);
write(+0.0 < +0.0);
write(+0.0 < 1);
write(+0.0 < 10);
write(+0.0 < 10.0);
write(+0.0 < 10.1);
write(+0.0 < -1);
write(+0.0 < -10);
write(+0.0 < -10.0);
write(+0.0 < -10.1);
write(+0.0 < Number.MAX_VALUE);
write(+0.0 < Number.MIN_VALUE);
write(+0.0 < Number.NaN);
write(+0.0 < Number.POSITIVE_INFINITY);
write(+0.0 < Number.NEGATIVE_INFINITY);
write(+0.0 < new Number(NaN));
write(+0.0 < new Number(+0));
write(+0.0 < new Number(-0));
write(+0.0 < new Number(0));
write(+0.0 < new Number(0.0));
write(+0.0 < new Number(-0.0));
write(+0.0 < new Number(+0.0));
write(+0.0 < new Number(1));
write(+0.0 < new Number(10));
write(+0.0 < new Number(10.0));
write(+0.0 < new Number(10.1));
write(+0.0 < new Number(-1));
write(+0.0 < new Number(-10));
write(+0.0 < new Number(-10.0));
write(+0.0 < new Number(-10.1));
write(+0.0 < new Number(Number.MAX_VALUE));
write(+0.0 < new Number(Number.MIN_VALUE));
write(+0.0 < new Number(Number.NaN));
write(+0.0 < new Number(Number.POSITIVE_INFINITY));
write(+0.0 < new Number(Number.NEGATIVE_INFINITY));
